
package com.insigma.business.qrcode.soldier._provider;



import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.SoldierDTO;
import com.insigma.business.qrcode.soldier.dto.SoldierOuterLoginAccountDTO;
import com.insigma.business.qrcode.soldier.request.*;

import java.util.List;


public interface SoldierOuterLoginAccountProvider {

    
    BasePagingResponse<List<SoldierOuterLoginAccountDTO>> searchSoldierOuterLoginAccount(final SoldierOuterLoginAccountSearchRequest soldierOuterLoginAccountSearchRequest);

   
    BaseResponse<SoldierOuterLoginAccountDTO> getSoldierOuterLoginAccount(final BaseGetRequest baseGetRequest);

    
    BaseResponse<SoldierOuterLoginAccountDTO> getSoldierOuterLoginAccountBySoldierId(final String soldierId);

    
    BaseResponse<String> insertSoldierOuterLoginAccount(final SoldierOuterLoginAccountInsertRequest soldierOuterLoginAccountInsertRequest);

    
    BaseResponse<Integer> updateSoldierOuterLoginAccount(final SoldierOuterLoginAccountUpdateRequest soldierOuterLoginAccountUpdateRequest);

    
    BaseResponse<Integer> deleteSoldierOuterLoginAccount(final BaseDeleteRequest deleteRequest);

    
    BaseResponse<SoldierDTO> getOrInsertZlbSoldierOfOuterSysSrc(SoldierRegisterByOuterSystemRequest registerByOuterSystemRequest);

}
